package com.golden.procedure.service;

import com.golden.procedure.domain.SiteTemplateDO;
import com.golden.procedure.domain.SiteTemplateDetailDO;
import com.golden.procedure.query.SiteTemplateQueryDO;
import com.golden.procedure.result.ResultDO;

/**
 * 摄控模板信息管理 <b>Description:</b><br>
 * 
 * @author Reading.Reagan</a>
 * @version 1.0
 * @Note <b>ProjectName:</b> procedure-api <br>
 *       <b>PackageName:</b> com.golden.procedure.service <br>
 *       <b>ClassName:</b> ISiteTemplateService <br>
 *       <b>Date:</b> 2018年9月25日 下午2:40:53
 */
public interface ISiteTemplateService {

	/**
	 * 另保存为新模板/更新其他模板 <b>Description:</b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午3:57:51 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO addFromTemplate(SiteTemplateDO domain);

	/**
	 * 从摄控设置 保存为模板 <b>Description:</b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午3:58:35 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO addFromSetting(SiteTemplateDO domain);

	/**
	 * 根据景点id查询模板列表 <b>Description:</b><br>
	 * 
	 * @param query
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午3:58:50 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO query(SiteTemplateQueryDO query);

	/**
	 * 根据模板id查询模板详情 <b>Description:</b><br>
	 * 
	 * @param query
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午3:59:13 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO queryDetail(SiteTemplateQueryDO query);

	/**
	 * 根据工位分组序号删除工位分组 <b>Description:</b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午3:59:36 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO delete(SiteTemplateDetailDO domain);

	/**
	 * 工位分组增加席位 <b>Description:</b><br>
	 * 
	 * @param detailDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午4:01:07 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO addSeat(SiteTemplateDetailDO detailDO);

	/**
	 * 编辑席位（拍摄时段） <b>Description:</b><br>
	 * 
	 * @param detailDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午4:01:26 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO editSeat(SiteTemplateDetailDO detailDO);

	/**
	 * 设置席位状态（0启用，-1禁用） <b>Description:</b><br>
	 * 
	 * @param detailDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午4:01:42 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO seatStatus(SiteTemplateDetailDO detailDO);
	
	/**
	 * 删除席位 <b>Description:</b><br>
	 * 
	 * @param detailDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月18日 下午4:01:42 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO deleteSeat(SiteTemplateDetailDO detailDO);

}
